package com.sodimac.v2s.business
{
 	import com.adobe.cairngorm.business.ServiceLocator;
 	import com.sodimac.util.commons.EstadosBPM;
 	import com.sodimac.util.commons.UtilString;
 	
 	import flash.xml.XMLDocument;
 	import flash.xml.XMLNode;
 	
 	import mx.collections.ArrayCollection;
 	import mx.rpc.AsyncToken;
 	import mx.rpc.IResponder;
 	import mx.rpc.soap.WebService;
 	import mx.rpc.xml.SimpleXMLEncoder;	
	
	public class PropuestosDelegate
	{
		
		private var service:WebService;
		private var responder:IResponder;		
		
		public function PropuestosDelegate(responder:IResponder)
		{
			this.service = ServiceLocator.getInstance().getWebService("wsConfirmacionCantidadPropuesta");
			this.responder = responder;
		}


		public function ConsultaProductosConfirmacionPais(cabecera:Object, 
														  idPais:String, 
														  idEmpresa:String,
														  idPedidoCorp:Number):void
		{
			trace("PropuestosDelegate.ConsultaProductosConfirmacionPais ("+ idPais + " "+ idPedidoCorp +")");
			
			var payload:Object = new Object();
			payload.idPais = idPais;
			payload.idEmpresa = idEmpresa;
			payload.idPedidoCorp = idPedidoCorp;
			
			var call:AsyncToken = service.consultaProductosConfirmacionPais(cabecera, payload);
			call.addResponder( responder );
		}


		public function GrabarProdPropuestos(cabecera: Object, idPedidoCorp: Number,
		 								 idPais: String, idEmpresa: String,
										 strVersion: String, strEstado: String,  
										 productosArr: Array):void
		{
			trace("PropuestosDelegate.GrabarProdPropuestos (Pais="+ idPais + " PedidoCorp="+ idPedidoCorp +")");
			var payload:Object = new Object();
			var deta:Object = new Object();
			var info:Object = new Object();
			info.idPedidoCorp = idPedidoCorp;
			info.idPais = idPais;	
			info.idEmpresa = idEmpresa;
			info.version = strVersion;
			info.estado = strEstado;
			
			//set encabezado
			payload.encabezadoConfirmacionPais = info;

			//productos modificados
			if	( (productosArr) && (productosArr.length > 0))
			{
				var objProd:Object = new Object();
				objProd.producto = productosArr;
				deta.productosConfirmacion = objProd;
				payload.detalleConfirmacionPais = deta;
			}	
	/*		
            var qName:QName = new QName("form");
            var xmlDocument:XMLDocument = new XMLDocument();
            var simpleXMLEncoder:SimpleXMLEncoder = new SimpleXMLEncoder(xmlDocument);
            var xmlNode:XMLNode = simpleXMLEncoder.encodeValue(payload, qName, xmlDocument);
            var xml:XML = new XML(xmlDocument.toString());
			trace("---------------------------");
			trace(xml.toString());	
			trace("---------------------------");			
		*/	
			var call:AsyncToken  = service.grabaConfirmacionPais(cabecera,payload);
			call.addResponder( responder );
		}




	}
			
}

	
	